/**
 * AI相关类型定义
 */

// 替换操作信息
export interface ReplaceOperation {
  originalText: string;
  newText: string;
  selectionInfo: {
    text: string;
    startPosition: number;
    endPosition: number;
    sourceId: string;
    timestamp: number;
    startLine?: number;
    endLine?: number;
    type: 'text' | 'code';
  };
  diffResult?: TextDiff;
}

// 差异比对结果
export interface TextDiff {
  original: string;
  modified: string;
  diffHtml: string;  // 包含差异标记的HTML
  statistics: DiffStatistics; // 差异统计信息
}

// 差异统计信息
export interface DiffStatistics {
  addedChars: number;      // 添加的字符数
  removedChars: number;    // 删除的字符数
  unchangedChars: number;  // 未更改的字符数
  totalOriginal: number;   // 原始文本总字符数
  totalModified: number;   // 修改后文本总字符数
  modificationRate: number; // 修改率（百分比）
  growthRate: number;      // 增长率（百分比）
}

// AI响应格式解析结果
export interface AIResponseParseResult {
  polishedText: string;  // 提取出的润色后文本
  hasExpectedFormat: boolean;  // 是否符合预期格式
  originalTextIncluded: boolean;  // 是否包含原文
  hasNonStandardFormat?: boolean;  // 是否使用了非标准但可接受的格式
  error?: string;  // 解析错误信息
  detectionMethod?: 'standard' | 'variant' | 'section-based' | 'heuristic' | 'fallback' | 'template-format' | 'old-format' | 'line-based';  // 检测方法
} 